'''
  for  for

'''
#end  =   下一个的位置在哪   默认/n

#外层循环控制行
for r in range(3):
    #内层循环控制裂
    for c in range(4):
        print("*",end=' ')
    print()

'''
*#*#*#
*#*#*#
*#*#*#
'''
for r in range(3):
    for c in range(6):
        if c % 2  ==0:
            print('*',end = ' ')
        else:
            print('#',end=' ')
    print()

'''
    *
    **
    ***
    ****
'''
for r in range(4):
    for c in range(r+1):
        print("*" ,end=' ')
    print()

#列表（升序 小---> 大）
# #[3,80,45,5,7,1]
#目标：列表中所有元素两两比较
#思想
#取出第一个元素，与后面元素进行比较：
#取出第二个元素，与后面元素进行比较
#取出第三个元素，与后面元素进行比较
#....
#取出倒数第二个元素与后面的进行比较。
#如果取出的元素大于（>）后面的元素，
#       则交换
list01 = [3,80,45,5,7,1]
# list01[0] list01[1]
# list01[0] list01[2]
# list01[0] list01[3]

# for c in range(1,len(list01)):
#     list01[0] list01[c]
#
# for c in range(2,len(list01)):
#     list01[1] list01[c]
#
# for c in range(3,len(list01)):
#     list01[2] list01[c]

# #数据
# for r in range(0,len(list01)-1):  #0
#     #作比较
#     for c in range(r+1,len(list01)):
#         if list01[r] == list01[c]:
#             print('具有相同项')

for r in range(0,len(list01)-1):  #0
    #作比较
    for c in range(r+1,len(list01)):
        if list01[r] > list01[c]:
            list01[r],list01[c] = list01[c],list01[r]

print(list01)


'''
练习：
    判断列表中是否具有相同的元素[3,80,45,5,80,1,2]
    思路：所有元素两两比较，发现相同的这打印结果
    所有元素比较结束，都没有发现相同项，则打印结果
'''
list01 = [3,80,45,1,80,1,1]
#结果：假设没有相同项
result = False
for r in range(0,len(list01)-1):
    for c in range(r+1,len(list01)):
        if list01[r] == list01[c]:
            print("具有相同")
            result = True
    if result:
        break
if result == False:
    print('没有相同')

list01 = [
    [1,2,3,4],
    [5,6,7,8],
    [9,10,11,12],
    [13,14,15,16],
]
'''
练习1：打印第二行第3个元素
练习2：打印第三行所有元素
练习3：打印第一列每个元素
'''
print(list01[1][2])
for item in list01[2]:
    print(item)
# 00 10 20 30   [行索引][列索引]
for i in range(len(list01)):
    print(list01[i][0])
#练习：矩阵转置   将二维列表的列，变成行
#   第一列变成第一行
#   第二列变成第二行
#   ......

#00 10 20 30
list02 = []
for i in range(len(list01)):
    line = []
    for item in range(len(list01)):
        line.append(list01[item][i])
    list02.append(line)
print(list02)

list02 = []
for i in range(len(list01)):
    list02.append([])
    for item in range(len(list01)):
        list02[i].append(list01[item][i])

print(list02)

'''
列表推导式嵌套
'''
list01 = ['a','b','c']
list02 = ['A','B','C']
list03 = []
for r in list01:
    for c in list02:
        list03.append(r+c)
print(list03)

list04 = [r+c for r in list01 for c in list02]
print(list04)

#练习：
#['香蕉','苹果','哈密瓜']
#['可乐','牛奶']
list01 = ['香蕉','苹果','哈密瓜']
list02 = ['可乐','牛奶']
list05 = [r+c for r in list01 for c in list02]
print(list05)